<!DOCTYPE html>
<html lang="cn" style="">
<head>
	<title>[7.1]-phalapi-入门篇1(简单介绍以及环境搭建) | PhalApi(π框架) - PHP轻量级开源接口框架</title>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<link rel="icon" href="http://webtools.qiniudn.com/dog_catch.png" type="image/x-icon" />
	<meta name="description" content="PhalApi是一个PHP轻量级开源接口框架。我们致力于将PhalApi维护成像恒星一样：不断更新，保持生气；为接口负责，为开源负责！让后台接口开发更简单！">
	<meta name="keywords" content="PhalApi,phalapi,phalapi接口开发,后台接口开发框架,后台接口开发,接口开发,接口框架,开源接口框架,PHP后台接口开发,PHP接口开发,PHP接口框架,PHP后台接口框架,phalapi官网,PHP接口框架,php接口开发框架,php接口开发,php web框架">
	<meta name="author" content="dogstar">

	<link rel="stylesheet" type="text/css" href="./../css/screen.css?20150211" />
</head>

<body>
<a href="https://github.com/phalapi/phalapi/tree/release">
	<img alt="Fork me on GitHub" data-canonical-src="http://7xslqv.com1.z0.glb.clouddn.com/images/2/2d/9e69c0ebaff22a24e241a0244532e.png" src="http://7xslqv.com1.z0.glb.clouddn.com/images/2/2d/9e69c0ebaff22a24e241a0244532e.png" style="position: absolute; top: 0; right: 0; border: 0;">
</a>

<!-- 最顶部的语言(S) -->
<div class="grid-wrapper navbar desktop-only">
	<div class="grid">
		<div class="grid__cell">
			<ul id="language-switchers" class="navbar__links navbar--left">
				<li class="menu-item"><a title="PhalApi官方网站中文版" href="./" class="menu-item__link">中文版</a></li>
				<li class="menu-item"><a title="English version of PhalApi website" href="/wikis/en/" class="menu-item__link">English</a></li>
			</ul>
			<ul id="util-menu" class="navbar__links navbar--right navbar--vertical-separator">
				<li class="menu-item"><a href="#" class="menu-item__link contact-us-spec">官方交流主群：421032344，副群：459352221</a></li>
			</ul>
		</div>
	</div>
</div>
<!-- 最顶部的语言(E) -->

<!-- 顶部导航菜单(S) -->
<div class="grid-wrapper desktop-only">
	<div class="grid">
		<div class="grid__cell">
			<div class="header__header-wrapper">
				<a title="PhalApi" href="http://www.phalapi.net" class="header__logo"><img src="http://webtools.qiniudn.com/master-LOGO-20150410_33.jpg" id="tw-logo" alt="PhalApi"></a>
				<ul id="main-menu" class="header__menu">
					<li class="menu-item"><a href="http://qa.phalapi.net/" class="menu-item__link insights-spec" target="_blank">社区</a></li>
					<li class="menu-item"><a href="/download.html" class="menu-item__link insights-spec" target="_blank">下载</a></li>
					<li class="menu-item"><a href="http://wiki.phalapi.net/" class="menu-item__link events-spec" target="_blank">文档(新)</a></li>
					<li class="menu-item"><a href="/wikis/" class="menu-item__link events-spec" target="_blank">文档(旧)</a></li>
    				<li class="menu-item"><a href="/docs/" class="menu-item__link events-spec" target="_blank">类参考手册</a></li>
					<li class="menu-item"><a href="http://phalapi.oschina.mopaas.com/Public/demo/" class="menu-item__link products-spec" target="_blank">在线体验</a></li>
					<li class="menu-item"><a href="https://zb.oschina.net/service/736cc7c075dd6d0e" class="menu-item__link products-spec" target="_blank">增值服务</a></li>
					<li class="menu-item"><a href="/about.html" class="menu-item__link about-us-spec" target="_blank">关于</a></li>
				</ul>
			</div>
		</div>
	</div>
</div>
<!-- 顶部导航菜单(E) -->


    <div class="grid-wrapper">
        <div class="grid">
            <div class="grid__cell">
                <h1>phalapi-入门篇1(简单介绍以及环境搭建)</h1>
<p><img src="http://webtools.qiniudn.com/master-LOGO-20150410_50.jpg" alt="" /></p>
<h2>前言</h2>
<p><strong><em>先在这里感谢phalapi框架创始人@dogstar，为我们提供了这样一个优秀的开源框架。</em></strong></p>
<p>在进行项目接口的开发过程中，笔者在寻找一个方便针对API开发的框架时，发现了PhalApi。经过了短时间的尝试，发现PhalApi确实很便捷，效率很高。
之后就把PhalApi运用到正式的项目上。而且在后面的项目仍一直使用。其间，也和很多希望了解PhalApi框架的朋友做过很多交流。为此，决定写一篇关于这个框架的教程。一方面是为了帮助一些初学者能够快速地了解PhalApi，另一方面是希望把自己在实际运用中总结出的一些小技巧分享出来。</p>
<p>附上:</p>
<p>喵了个咪的博客:<a href="w-blog.cn">w-blog.cn</a></p>
<p>官网地址:<a href="http://www.phalapi.net/" title="PhalApi官网"><a href="http://www.phalapi.net/">http://www.phalapi.net/</a></a></p>
<p>开源中国Git地址:<a href="http://git.oschina.net/dogstar/PhalApi/tree/release" title="开源中国Git地址"><a href="http://git.oschina.net/dogstar/PhalApi/tree/release">http://git.oschina.net/dogstar/PhalApi/tree/release</a></a></p>
<h2>1. 简单的介绍</h2>
<p>官网上面有一句话让我特别有感受--<strong>接口，从简单开始！</strong> </p>
<p>怎样的感受呢，在最近进行一个项目开发的时候，因为项目比较紧急需要快速地开发。从确定完需求以及接口之后，借助PhalApi，我仅用了8个小时就完成项目接口的开发。整个项目的接口差不多20来个，从这点可以看出，如果PhalApi框架用得熟练的话，效率将会提高更多。</p>
<p>其实，接口最关心的就是性能。通过测试下来，Phalapi消耗相对比较小，引入文件在10个左右，空框架返回2核2G并发点击数在1700左右。很是给力。在2核2G正常请求数据库接口相对于一套完整的业务。平均下来最快的1000并发，最慢的600并发。所以我觉得性能方面，PhalApi完全没有问题(压力测试使用的是Loadrunner，ab压力基本是Loadrunner的3倍不太清楚为什么)。</p>
<p><strong>引用:</strong></p>
<p><strong>勿忘初心，方得始终</strong></p>
<p>虽然现在这个社会的节奏很快，但如果有时间时，我们不妨静下来，稍微地思考一下，然后你会发现：慢慢来，比较快。</p>
<p><strong>PhalApi 的初衷:</strong></p>
<p>我们之所以开源这个框架，是因为我们想致力于提供可以快速进行开发后台接口的框架，并且通过这个框架分享更多开发的最佳实践、原则和模式！这就是我们的初心，也希望我们能一直坚持下去。</p>
<p><strong>PhalApi命名的来源</strong></p>
<p>得益于开源社区，现在有很多优秀的开源框架。确实有很多框架值得我们去学习和使用，其中高性能的Phalcon框架和可视化代码评审工具Phabricator都是相当令人敬佩和认可的。前者在思想、模式和原则上有很好的文档说明；后者在包管理、命名写法等都非常好地体现了代码重用。受此两个框架的影响，故取名为：PhalApi。</p>
<p><strong>通过PhalApi，我们希望可以</strong></p>
<p>支撑轻量级项目后台接口的快速开发；阐明如何进行框架设计、对应复杂领域业务、支撑海量服务等，以及分享好的思想、技巧工具和最佳实践。最后，争取成为国内主流的PHP接口开发框架。</p>
<h2>2. 环境搭建</h2>
<p>在这里推荐使用(我后面的配置等都会基于以下环境)lnmp:</p>
<p>Liunx+Nginx+php5.4以上+mysql</p>
<p>我使用的是centos6.5</p>
<p>有三种方式配置环境：</p>
<pre><code>1.手动编译安装(网上资料也挺多的，但是容易出现一些依赖性的问题，新手不推荐。)。

2.yum或apt-get安装(yum安装无法指定目录，都会装到/etc下面去，不方便管理，但是要玩liunx必须要会。)。

3.lnmp一键安装工具(推荐：但是这个推荐是基于上面几种方式都尝试过的情况下，这个安装方式基于--编译安装。)。</code></pre>
<p>我推荐一个lnmp一键配置软件:</p>
<p>官网:OneinStack – 一键PHP/JAVA安装工具:<a href="http://oneinstack.com/" title="OneinStack – 一键PHP/JAVA安装工具"><a href="http://oneinstack.com/">http://oneinstack.com/</a></a></p>
<p>因为官网介绍得比较详细，在这里就不再多做说明。其余几种方式教程都比较多也不做说明。</p>
<p>那不了解liunx怎么办？wampserver在windows下还是比较好用的。</p>
<h2>3. 总结</h2>
<p>最后，希望大家在通读PhalApi官方文档后，再接着看下面的文章，会更容易理解。在这一套教程中，我会以构建一个完整的项目为基础，拓展开来讲解一些框架的机制。大家可以跟着一起做，相信能够收获得更多。</p>
<p>注：笔者能力有限，有说的不对的地方，希望大家能够指出。也希望多多交流！</p>
<p><strong>官网QQ交流群:421032344  欢迎大家的加入!</strong></p>
<p><a href="/wikis/">文档首页</a>   <a href="/wikis/%5b7.2%5d-phalapi-%e5%85%a5%e9%97%a8%e7%af%872(%e6%8a%8a%e5%ae%83%e7%8e%a9%e8%b5%b7%e6%9d%a5).html">下一章</a></p>
            </div>
        </div>

        <div class="grid">
            <div class="grid__cell">
                <!-- TODO -->
            </div>
        </div>
    </div>

 <!-- 广告位 -->
<div class="grid-wrapper desktop-only">
	<p align="center">
		<a href="http://7xiz2f.com1.z0.glb.clouddn.com/%E6%88%91%E7%9A%84%E5%90%8D%E5%AD%97%E5%8F%AB%EF%BC%9A%CF%80%E6%A1%86%E6%9E%B6%20-%20PhalApi%202016%E5%B9%B4%E5%BA%A6%E5%BC%80%E6%BA%90%E6%80%BB%E7%BB%93%20-%20%E5%AE%98%E6%96%B9%E5%87%BA%E5%93%81.pdf" target="blank"><img width="950" height="100" src="http://7xiz2f.com1.z0.glb.clouddn.com/ad_20170104.png"></a>
		<a href="http://www.itran.cc/" target="blank"><img width="950" height="100" src="http://7xslqv.com1.z0.glb.clouddn.com/images/9/69/b88bc92455dc1239f9a5bf8d72929.png"></a>
		<a href="http://web-tools.phalapi.net/" target="blank"><img width="950" height="100" src="http://7xslqv.com1.z0.glb.clouddn.com/images/7/d0/88f523566c482296aecc43d185ca2.png"></a>
	</p>
</div>

<!-- footer(S) -->
<div class="grid-wrapper footer">
	<div id="footer" class="grid">	

		<div class="grid__cell">
			<h3>PhalApi (π框架)</h3>
            <p>
				<font size="3px">一个轻量级PHP开源接口框架，专注于接口服务开发，支持HTTP/SOAP/RPC协议，拥有自动生成的在线文档、多种开发语言的客户端SDK包以及可重用的扩展类库，可用于快速搭建微服务、RESTful接口或Web Services。</font>
				
				<br />

				<font size="2px">
				友情链接： <a href="https://www.phalapi.net/" class="menu-item__link" target="_blank"><strong>PhalApi</strong></a>
				| <a href="http://www.oschina.net/" class="menu-item__link" target="_blank">开源中国</a>
				| <a href="https://www.itran.cc/" class="menu-item__link" target="_blank">艾翻译</a>
				| <a href="http://www.phalconphp.com/en/" class="menu-item__link" target="_blank">Phalcon</a>
				| <a href="https://phpunit.de/manual/3.7/zh_cn/automating-tests.html" class="menu-item__link" target="_blank">PHPUnit</a>
				| <a href="http://www.thoughtworks.com/cn/" class="menu-item__link" target="_blank">ThoughtWorks</a>

				<br />

				&copy;2015-2017 PhalApi All Rights Reserved. <a href="http://www.miitbeian.gov.cn" target="_blank" >粤ICP备15028808号</a>
				</font>

				<script type="text/javascript">var cnzz_protocol = (("https:" == document.location.protocol) ? " https://" : " http://");document.write(unescape("%3Cspan id='cnzz_stat_icon_1255326144'%3E%3C/span%3E%3Cscript src='" + cnzz_protocol + "s4.cnzz.com/z_stat.php%3Fid%3D1255326144%26show%3Dpic' type='text/javascript'%3E%3C/script%3E"));</script>
			</p>
		</div>	
	</div>
</div>
<!-- footer(E) -->

</body>

</html>